xlwingsで最終行番号を取得する-Sheet.used | 您所在的位置:网站首页 › python i in range › xlwingsで最終行番号を取得する-Sheet.used |
動作検証バージョン:Windows 10 Pro(64-bit)+ 64bit Excel(バージョン2302 ビルド16130.20218 キック実行)+ Python 3.11.1(64-bit) + xlwings 0.29.1
「xlwings 最終行」 といった検索で時折アクセスがあります。 表計算ソフトExcelを操作するPythonの外部ライブラリxlwingsを使って、ワークシートの最終行を取得するにはどのようなコードを書けばいいのかを調べていた方による検索です。 「最終行」と表現されているのが何なのかいくつかの解釈が可能ですが、この記事ではSheetオブジェクトのused_rangeプロパティ、Rangeオブジェクトのlast_cellプロパティを使って、最終行番号を取得するサンプルをご紹介します。 [スポンサードリンク] Sheet.uset_range.last_cell.rowを使って最終行番号を取得するサンプルスクリプト以下のスクリプトを実行してください。 import xlwings as xwbk = xw.Book() ws = bk.sheets[0] ws['B2:G5'].value = 123 print(ws.used_range.last_cell.row)新規ブックがExcelで表示され、B2:G5セルに数値「123」が入力され、最終行番号である「5」が出力されます。 サンプルスクリプトで行っている処理もちろんポイントは、 print(ws.used_range.last_cell.row)の行、print()関数の引数に指定された「ws.used_range.last_cell.row」です。 Sheet.used_rangeプロパティ最終行番号を出力している、 print(ws.used_range.last_cell.row)の「.used_range」は、Sheetオブジェクトのused_rangeプロパティです。 Excel VBAのWorksheet.UsedRangeに相当するプロパティで、ワークシート上で使われているセル範囲を表すRangeオブジェクトを取得できます。 先ほどのスクリプトを実行した後に、 print(ws.used_range.address)を実行すると、 $B$2:$G$5と出力されます。 先のスクリプトでは、 ws['B2:G5'].value = 123と、B2:G5セルのみに値を入力しているので、Sheet.used_rangeは、B2:G5セルですから、「ws.used_range.address」で「$B$2:$G$5」が取得できるわけです。 Range.last_cellプロパティ最終行番号を出力している行 print(ws.used_range.last_cell.row)の「.last_cell」は、xlwingsのRangeオブジェクトに用意されているlast_cellプロパティです。 セル範囲を表すコレクションとしてのRangeの、最後のセルを表すRangeオブジェクトを取得するための、便利なプロパティです。 Excel VBAで、何らかのセル範囲の最後のセルを表すRangeを取得する場合、セルの個数をRange.Itemプロパティの引数に指定する必要があります。 Excel VBAで選択範囲の最終セルを取得するxlwingsでは、Range.last_cellプロパティを使うだけで最後のセルを表すRangeを取得でき、とても便利だと感じます。 Range.rowプロパティ先ほどのスクリプトで最終行番号を出力している行 print(ws.used_range.last_cell.row)の「.row」は、Rangeオブジェクトのrowプロパティです。 Excel VBAのRange.Rowに相当するプロパティで、行番号を返してくれます。 Excel VBAのRowsとRowの違い[スポンサードリンク] Home » Python » xlwingsの使い方 » xlwingsで最終行番号を取得する-Sheet.used_range.last_cell.row Older:OpenPyXLのwb.sheetnamesとは Twitter Facebook はてブ LINE Pocket |
CopyRight 2018-2019 实验室设备网 版权所有 |